#pragma once

namespace RenderSystem
{
	class Renderable;

	class DepthPriorityGroup;
	class RenderQueue;

	class Renderer
	{
	public:

		Renderer( void );
		virtual ~Renderer( void );

		virtual void AddRenderable( Renderable* pRenderable );
		virtual void DrawScene( void );

	protected:

		bool _RenderDPGPrePass( RenderQueue* pRenderQueue );

	protected:

		DepthPriorityGroup*	m_DPG;
	};
}
